<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>VT100.net: LA100-Series Programmer Reference Manual</TITLE>
<LINK HREF="la100-rm.css" TYPE="text/css" REL="stylesheet">
<LINK HREF="/favicon.ico" TYPE="image/x-icon" REL="shortcut icon">
</HEAD>
<BODY>
<DIV CLASS="navbar"><A HREF="http://vt100.net/"><IMG CLASS="button" SRC="vt100.net-logo.png" ALT="VT100.net" HEIGHT="16" WIDTH="102"></A> LA100-Series Programmer Reference Manual<TABLE WIDTH="100%">
<COL SPAN="3" WIDTH="33%">
<TBODY>
<TR>
<TD ALIGN="LEFT"><A HREF="chapter1.html">Chapter 1</A></TD>
<TD ALIGN="CENTER"><A HREF="contents.html">Contents</A></TD>
<TD ALIGN="RIGHT">&nbsp;</TD>
</TR>
</TBODY>
</TABLE>
<HR></DIV>
<H1 ID="S2"><SPAN CLASS="chapnum">2</SPAN> Character Processing</H1>
<H2 ID="S2.1">General</H2>
<P>This chapter describes the terminal's response to received
characters. The terminal processes characters according to
American National Standards Institute (ANSI) standards X3.64-1979,
X3.4-1977 and X3.41-1977. The ANSI system defines the American
National Standard Code for Information Interchange (ASCII) chart
shown in <A HREF="#F2-1">Figure 2-1</A>. <A HREF="#F2-1">Figure 2-1</A> shows each character with its
binary, octal, decimal, and hexadecimal values.</P>
<P>The terminal processes a received character based on the type of
character as defined by ANSI. The position of the character in the
ASCII chart determines the type of character as either a printable
character or control character.</P>
<P>The ASCII chart is eight columns wide. The control characters are
in columns zero and one. The rest of the chart contains printable
characters (except for SP and DEL). The DEL (delete) character is
always a control character. The SP can be considered either an
information separator control character or a printable character.</P>
<P>A character sent from the computer to the terminal first goes through the
application program, then through the terminal handler of the
computer, then through the character processor of the terminal,
then finally creates a terminal action.</P>
<P>To know exactly what action is caused by a character sent from
your application program you have to make sure that all the
following parts of the system are set properly:</P>
<UL>
<LI>Application program</LI>
<LI>Transmitting part of the terminal handler</LI>
<LI>Receiving part of the terminal</LI>
<LI>General terminal settings</LI>
</UL>
<P>To set the terminal, refer to this book and the <CITE>Operator Guide</CITE>; to
set the terminal handler, refer to your operating system guide; to
set the application program, refer to your application guide.</P>
<P>For example:</P>
<P>A form feed control character (octal 014) sent from the
application program may not be executed by the terminal because
the terminal is not set for form handling, or because the terminal
handler is set to change form feed into multiple line feeds.</P>
<P>An escape control character (octal 033) may be changed into a
dollar sign by the terminal handler or the application program.</P>
<P>A horizontal tab control character (octal 011) may be changed into
spaces by the application program or the terminal handler, or may
not be executed because no tab is set in the terminal.</P>
<P>Lower case characters may be changed into uppercase characters.</P>
<P>The following paragraphs describe both printable characters and
control characters.</P>
<TABLE ID="F2-1">
<CAPTION>Figure 2-1 ASCII Chart</CAPTION>
<TBODY>
<TR>
<TD><IMG SRC="ma-7247.png" ALT=""></TD>
</TR>
</TBODY>
</TABLE>
<H2 ID="S2.2">Printable Characters</H2>
<P>The terminal receives printable characters and stores the
characters in a line buffer. The characters are printed when one
of the following conditions occur:</P>
<UL>
<LI>no character received for more than 30 ms</LI>
<LI>paper motion</LI>
<LI>overprint command (except underline)</LI>
</UL>
<P>If the active column is not greater than the right margin, each
received character is printed and the active column is
incremented. The actual character printed depends on the character
code received, the font selected, and the character set selected.</P>
<H2 ID="S2.3">Control Characters</H2>
<P>A control character is a single character control function used to
control terminal operation. Control characters are not printed.
When the LA100 receives a control character the terminal responds
by performing the action associated with the control character.
The LA100 responds to the control characters listed in <A HREF="#T2-1">Table 2-1</A>.
<A HREF="#T2-1">Table 2-1</A> also lists each control character's mnemonic, and
function. All other control characters received by the terminal
cause no action.</P>
<P CLASS="note">NOTE: Each control function listed in this chapter has a
mnemonic. The mnemonic is an abbreviation of the control function
name.</P>
<TABLE ID="T2-1">
<CAPTION>Table 2-1 ANSI Control Characters</CAPTION>
<THEAD>
<TR VALIGN="BOTTOM">
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Octal Code</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>Null</TD>
<TD>NUL</TD>
<TD>000</TD>
<TD>Used as fill characters (See Communication Chapter).</TD>
</TR>
<TR VALIGN="TOP">
<TD>End of Transmission</TD>
<TD>EOT</TD>
<TD>004</TD>
<TD>Used as disconnect character if enabled.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Enquiry</TD>
<TD>ENQ</TD>
<TD>005</TD>
<TD>Request answerback message.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Bell</TD>
<TD>BEL</TD>
<TD>007</TD>
<TD>Sounds audible bell tone.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Backspace</TD>
<TD>BS</TD>
<TD>010</TD>
<TD>Moves the active column left one column.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Horizontal Tab</TD>
<TD>HT</TD>
<TD>011</TD>
<TD>Advances to next horizontal tab stop.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Line Feed</TD>
<TD>LF</TD>
<TD>012</TD>
<TD>Advances to next horizontal tab stop.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Vertical Tab</TD>
<TD>VT</TD>
<TD>013</TD>
<TD>Advances to next vertical tab stop.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Form Feed</TD>
<TD>FF</TD>
<TD>014</TD>
<TD>Advances to next top margin.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Carriage Return</TD>
<TD>CR</TD>
<TD>015</TD>
<TD>Returns to left margin. Performs line feed if enabled.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Shift Out</TD>
<TD>SO</TD>
<TD>016</TD>
<TD>Switches to G1 printer character set.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Shift In</TD>
<TD>SI</TD>
<TD>017</TD>
<TD>Switches to G0 printer character set.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Cancel</TD>
<TD>CAN</TD>
<TD>030</TD>
<TD>Immediately ends any control or escape sequence.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Substitute</TD>
<TD>SUB</TD>
<TD>032</TD>
<TD>Immediately ends any control or escape sequence. Characters
received with errors are replaced by SUB if enabled. SUB
is printed as " ".</TD>
</TR>
<TR VALIGN="TOP">
<TD>Escape</TD>
<TD>ESC</TD>
<TD>033</TD>
<TD>Introduces an escape sequence.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Delete</TD>
<TD>DEL</TD>
<TD>177</TD>
<TD>No operation (not stored in the input buffer).</TD>
</TR>
</TBODY>
</TABLE>
<H2 ID="S2.4">Escape and Control Characters</H2>
<P>Escape and control sequences are used to provide additional
controls that are not provided by the control characters in the
character set. These sequences are multiple character control
functions that are not printed but are used to control the printing
and processing of characters. Escape and control sequences are
defined in ANSI standards X3.41-1977 and X3.64-1979. Refer to
Appendix C for more detail on escape and control sequence
processing.</P>
<P CLASS="note">NOTE: If an escape or control sequence is aborted in the middle
of the sequence, it is not clear what action the following
character will have. It is therefore recommended that any abort be
followed by a cancel control character or a no action escape
sequence ESC \ (octal 033 134).</P>
<P>For example: some operating systems echo CTL (control) C as ^ C.
The sequence ESC CTL C then becomes ESC ^ C which puts the
terminal is ANSI string processing mode. If this occurs the
terminal discards printable characters (see ANSI string
processing) if the host does not send the cancel control
character. To recover from this mode, if the computer does not
send the cancel control character; enter and exit SET-UP for the
Letterwriter 100, enter and exit SELF TEST for the Letterprinter
100.</P>
<H3 ID="S2.4.1">Detailed Sequence Definitions</H3>
<P>The following paragraphs describe in detail the escape and control
sequences to which the LA100 responds. These sequences are
described in the following order.</P>
<UL>
<LI>Line Feed New Line Mode</LI>
<LI>Auto Wraparound Mode</LI>
<LI>Density Select Mode</LI>
<LI>Pitch Select Mode</LI>
<LI>Printer Character Set Designation</LI>
<LI>Font Selection</LI>
<LI>Request Font Configuration</LI>
<LI>Report Font Configuration</LI>
<LI>Horizontal Pitch (Characters Per Inch)</LI>
<LI>Horizontal Margins</LI>
<LI>Horizontal Tabs</LI>
<LI>Vertical Pitch (Lines Per Inch)</LI>
<LI>Form Length</LI>
<LI>Vertical Margins</LI>
<LI>Vertical Tabs</LI>
<LI>Active Column and Active Line</LI>
<LI>Product Identification</LI>
</UL>
<P ID="S2.4.1.1" CLASS="h4"><SPAN CLASS="ptitle">Line Feed New Line Mode</SPAN>
-- defines the terminals' response to the
line feed control character. When this mode is off and the
terminal receives a line feed control character, the terminal
increments the active line and advances the paper one line. When
this mode is on, a received line feed control character causes the
terminal to return the active column to the left margin in
addition to its usual functions. Use the following sequences to
enable or disable line feed new line mode.</P>
<P CLASS="note">NOTE: Carriage return line feed mode is operator selectable
only. Refer to the <CITE>Operator Guide</CITE> for more detail.</P>
<TABLE>
<COL WIDTH="20%">
<COL WIDTH="20%">
<COL WIDTH="*">
<COL WIDTH="60%">
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD ROWSPAN="2">Line feed new line mode</TD>
<TD ROWSPAN="2">LNM</TD>
<TD><PRE>ESC [   2   0   h
033 133 062 060 150 </PRE></TD>
<TD>Set line feed new line mode on.</TD>
</TR>
<TR VALIGN="TOP">
<TD><PRE>ESC [   2   0   l
033 133 062 060 154 </PRE></TD>
<TD>Set line feed new line mode off.</TD>
</TR>
</TBODY>
</TABLE>
<P ID="S2.4.1.2" CLASS="h4"><SPAN CLASS="ptitle">Auto Wraparound Mode</SPAN>
-- determines where the next character is
printed when received while the active position is greater than
the right margin. When this mode is off, any characters received
while the active position is at the right margin are not printed.
When this mode is on, any characters received while the active
position is greater than the right margin are printed starting at
the left margin on the next line. Use the following sequences to
enable or disable auto wraparound mode.</P>
<TABLE>
<COL WIDTH="20%">
<COL WIDTH="20%">
<COL WIDTH="*">
<COL WIDTH="60%">
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD ROWSPAN="2">Auto wrap around mode</TD>
<TD ROWSPAN="2">DECAWM</TD>
<TD><PRE>ESC [   ?   7   h
033 133 077 067 150 </PRE></TD>
<TD>Set auto wraparound mode on.</TD>
</TR>
<TR VALIGN="TOP">
<TD><PRE>ESC [   ?   7   l
033 133 077 067 154 </PRE></TD>
<TD>Set auto wraparound mode off.</TD>
</TR>
</TBODY>
</TABLE>
<P ID="S2.4.1.3" CLASS="h4"><SPAN CLASS="ptitle">Quality Select Mode</SPAN>
-- determines if received characters are
printed in letter mode (medium or high density, depending on
character ROM) or draft mode. See <A HREF="#F2-2">Figure 2-2</A> for examples.</P>
<P>The standard DPSs are designed to print in draft mode (7 &times; 9
character) or letter mode/high density (33 &times; 18 character). Some
of the optional DPSs are designed to print in draft mode (7 &times; 9
character) or letter mode/medium density (33 &times; 9 character).
Selecting letter mode selects either 33 &times; 18 or 33 &times; 9 characters,
depending on the DPS selected.</P>
<P CLASS="note">NOTE: Medium and high density DPSs can both be resident in the
terminal.</P>
<P>The terminal only responds to these sequences when the AUTO/MAN
key is in the automatic (up) position. When the AUTO/MAN key is in
the down position and the LTR/DRAFT key is used to select the
print quality, any quality select sequence sent to the terminal is
processed and stored. The sequences are performed when the
AUTO/MAN key is set to the automatic (up) position.</P>
<P>Use the following sequences to change the quality select feature.</P>
<TABLE>
<COL WIDTH="20%">
<COL WIDTH="20%">
<COL WIDTH="*">
<COL WIDTH="60%">
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>Quality select</TD>
<TD ROWSPAN="4"></TD>
<TD><PRE>ESC [   0   "   z
033 133 060 042 172 </PRE></TD>
<TD>Set quality select mode to default (draft mode).</TD>
</TR>
<TR VALIGN="TOP">
<TD>Quality select</TD>
<TD><PRE>ESC [   1   "   z
033 133 061 042 172 </PRE></TD>
<TD>Set quality select mode to draft mode.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Quality select</TD>
<TD><PRE>ESC [   2   "   z
033 133 062 042 172 </PRE></TD>
<TD>Set quality select mode to letter mode (medium density).</TD>
</TR>
<TR VALIGN="TOP">
<TD>Quality select</TD>
<TD><PRE>ESC [   3   "   z
033 133 063 042 172 </PRE></TD>
<TD>Set quality select mode to letter mode (high density).</TD>
</TR>
</TBODY>
</TABLE>
<TABLE ID="F2-2">
<CAPTION>Figure 2-2 Character Density Examples</CAPTION>
<TBODY>
<TR>
<TD><IMG SRC="ma-8300.png" ALT=""></TD>
</TR>
</TBODY>
</TABLE>
<P ID="S2.4.1.4" CLASS="h4"><SPAN CLASS="ptitle">Pitch Select Mode</SPAN>
-- selects font pitches or all pitches. When the
terminal is set to all pitch the terminal can print any of the
eight horizontal pitch selections available. This is useful when
the terminal is used as a line printer (with draft density
selected). When font pitch is selected, the terminal will print at
the single width pitch of the current font (10 or 12 characters
per inch) or its double width (5 or 6 characters per inch) only.
This is useful when printing draft copies of future letter quality
documents because the draft quality copy will look like the letter
quality copy. Use the following sequences to select font pitch or
all pitch.</P>
<TABLE>
<COL WIDTH="20%">
<COL WIDTH="20%">
<COL WIDTH="*">
<COL WIDTH="60%">
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>Pitch select mode</TD>
<TD ROWSPAN="2"></TD>
<TD><PRE>ESC [   ?   2   9   h
033 133 077 062 071 150 </PRE></TD>
<TD>Set pitch select mode to font pitches.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Pitch select mode</TD>
<TD><PRE>ESC [   ?   2   9   l
033 133 077 062 071 154 </PRE></TD>
<TD>Set density select mode to all pitches.</TD>
</TR>
</TBODY>
</TABLE>
<P ID="S2.4.1.5" CLASS="h4"><SPAN CLASS="ptitle">Printer Character Set Designation</SPAN>
-- The character sets are
usually language sets with some exceptions; the VT100 line drawing
set, symbol, etc. The character sets that the terminal can
actually print depends on the Dot Pattern Set (DPS) that the
terminal is using and the character set selected. If the DPS
currently used contains the character set selected, that character
set is used. If the DPS currently used does not contain the
character set selected, the default character set for that DPS is
used. The standard DPSs contain the following character sets:</P>
<UL>
<LI>ISO United Kingdom</LI>
<LI>USASCII</LI>
<LI>DIGITAL Finnish</LI>
<LI>DIGITAL Norwegian/Danish</LI>
<LI>DIGITAL Swedish</LI>
<LI>ISO German</LI>
<LI>DIGITAL French Canadian</LI>
<LI>ISO French</LI>
<LI>ISO Italian</LI>
<LI>ISO Spanish</LI>
<LI>DIGITAL VT100 line drawing set</LI>
</UL>
<P>Four of these character sets can be preselected (designated). Two
character sets are locking (remains active until next command),
two are unlocking (remains active for one printable character
only). The two locking character sets are designated by the
computer as G0 and G1 using the select character set (SCS)
sequence. Once the character sets are designated by the computer,
a single control character is used to switch between the active
character sets. The shift in (SI, octal 017) control character
selects the G0 character set. The shift out (SO, octal 016)
control character selects the G1 character set.</P>
<P>The designated character sets are used until another select
character set (SCS) sequence is received. The G0 and G1 character
sets can be redesignated by the computer using the select
character set (SCS) sequence as often as needed.</P>
<P>The sequence used to designate the G0 character set is ESC (
(octal 033 050), followed by a valid final character. The sequence
used to designate the G1 character set is ESC ) (octal 033 051),
followed by a valid final character.</P>
<P>The two nonlocking character sets are designated G2 and G3 using
the select character set (SCS) sequence. The G2 and G3 character
sets are activated for only one character at a time. They are
activated using the single shift 2 (ESC N) (octal 033 115) for G2
and single shift 3 (ESC O) (octal 033 116) for G3 sequences. The
terminal returns to the previously used character set after the
single character is printed.</P>
<P>The sequence used to designate the G2 character set is ESC *
(octal 033 052), followed by a valid final character. The sequence
used to designate the G3 character set is ESC + (octal 033 053),
followed by a valid final character.</P>
<P><A HREF="#T2-2">Table 2-2</A> lists the currently available character sets and their
valid final characters.</P>
<TABLE ID="T2-2">
<CAPTION>Table 2-2 Character Set Final Characters</CAPTION>
<THEAD>
<TR>
<TH>Character Set</TH>
<TH>Final Character</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>ISO United Kingdom</TD>
<TD>A<BR>101</TD>
</TR>
<TR VALIGN="TOP">
<TD>USASCII</TD>
<TD>B<BR>102</TD>
</TR>
<TR VALIGN="TOP">
<TD>DIGITAL Finnish</TD>
<TD>5<BR>065</TD>
</TR>
<TR VALIGN="TOP">
<TD>DIGITAL Norwegian/Danish</TD>
<TD>6<BR>066</TD>
</TR>
<TR VALIGN="TOP">
<TD>DIGITAL Swedish</TD>
<TD>7<BR>067</TD>
</TR>
<TR VALIGN="TOP">
<TD>ISO German</TD>
<TD>K<BR>113</TD>
</TR>
<TR VALIGN="TOP">
<TD>DIGITAL French Canadian</TD>
<TD>9<BR>071</TD>
</TR>
<TR VALIGN="TOP">
<TD>ISO French</TD>
<TD>R<BR>122</TD>
</TR>
<TR VALIGN="TOP">
<TD>DIGITAL VT100 line drawing set</TD>
<TD>0<BR>060</TD>
</TR>
<TR VALIGN="TOP">
<TD>ISO Italian</TD>
<TD>Y<BR>131</TD>
</TR>
<TR VALIGN="TOP">
<TD>ISO Spanish</TD>
<TD>Z<BR>132</TD>
</TR>
</TBODY>
</TABLE>
<P ID="S2.4.1.6" CLASS="h4"><SPAN CLASS="ptitle">Font Selection</SPAN>
-- The LA100 can print characters in different
fonts or styles. Changing a font changes the shape of the
character but does not change the character itself. Digital
currently provides the following fonts:</P>
<UL>
<LI>Courier</LI>
<LI>Gothic</LI>
<LI>Orator</LI>
<LI>Symbols</LI>
</UL>
<P>Additional fonts will be available in the future. The terminal can
contain up to five fonts accessible at a given time. If the
multiple font option is installed, the terminal only responds to
these sequences when the option is set to computer select. When
the operator forces a font from the multiple font option any font
select sequences sent to the terminal are processed and stored.
The sequences are performed when the option is set to computer
select.</P>
<P>This sequence is also used to set or clear the underline
attribute. This feature is used to underline characters. Use the
following sequences to select a font or the underline attribute.</P>
<P CLASS="note">NOTE: If the selected font is not installed, the terminal
selects the default (font 1).</P>
<TABLE>
<COL WIDTH="20%">
<COL WIDTH="20%">
<COL WIDTH="*">
<COL WIDTH="60%">
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>Font select</TD>
<TD></TD>
<TD><PRE>ESC [   4   m
033 133 064 155 </PRE></TD>
<TD>Select underline</TD>
</TR>
<TR VALIGN="TOP">
<TD>Font select</TD>
<TD></TD>
<TD><PRE>ESC [   0   m
033 133 060 155 </PRE></TD>
<TD>Clear underline</TD>
</TR>
<TR VALIGN="TOP">
<TD>Font select</TD>
<TD></TD>
<TD><PRE>ESC [   1   0   m
033 133 061 060 155 </PRE></TD>
<TD>Select Font 1</TD>
</TR>
<TR VALIGN="TOP">
<TD>Font select</TD>
<TD></TD>
<TD><PRE>ESC [   1   1   m
033 133 061 061 155 </PRE></TD>
<TD>Select Font 2</TD>
</TR>
<TR VALIGN="TOP">
<TD>Font select</TD>
<TD></TD>
<TD><PRE>ESC [   1   2   m
033 133 061 062 155 </PRE></TD>
<TD>Select Font 3</TD>
</TR>
<TR VALIGN="TOP">
<TD>Font select</TD>
<TD></TD>
<TD><PRE>ESC [   1   3   m
033 133 061 063 155 </PRE></TD>
<TD>Select Font 4</TD>
</TR>
<TR VALIGN="TOP">
<TD>Font select</TD>
<TD></TD>
<TD><PRE>ESC [   1   4   m
033 133 061 064 155 </PRE></TD>
<TD>Select Font 5</TD>
</TR>
</TBODY>
</TABLE>
<P ID="S2.4.1.7" CLASS="h4"><SPAN CLASS="ptitle">Request Font Configuration</SPAN>
-- causes the terminal to send the font
configuration report to the computer. Send the following
sequence to the LA100 to request font configuration.</P>
<TABLE>
<COL WIDTH="20%">
<COL WIDTH="20%">
<COL WIDTH="*">
<COL WIDTH="60%">
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>Request Font Configuration</TD>
<TD></TD>
<TD><PRE>ESC [   ?   1   0   c
033 133 077 061 060 143 </PRE></TD>
<TD>Causes LA100 to send font configuration report <TT>ESC [ ? Pn ; Pn SP D</TT> once for each installed font.</TD>
</TR>
</TBODY>
</TABLE>
<P CLASS="note">NOTE: SP represents the space character (octal 040).</P>
<P ID="S2.4.1.8" CLASS="h4"><SPAN CLASS="ptitle">Report Font Configuration</SPAN>
-- the terminal responds to the font
configuration request with the sequence ESC [ ? Pn ; Pn SP D once
for each installed font. The first parameter in the sequence is
the font selection code. One selection code is available for each
font.</P>
<TABLE CELLSPACING="10">
<THEAD>
<TR>
<TH>Font</TH>
<TH>Selection Code</TH>
</TR>
</THEAD>
<TBODY>
<TR>
<TD>Font 1</TD>
<TD>10</TD>
</TR>
<TR>
<TD>Font 2</TD>
<TD>11</TD>
</TR>
<TR>
<TD>Font 3</TD>
<TD>12</TD>
</TR>
<TR>
<TD>Font 4</TD>
<TD>13</TD>
</TR>
<TR>
<TD>Font 5</TD>
<TD>14</TD>
</TR>
</TBODY>
</TABLE>
<P CLASS="note">NOTE: Font selection code 10 is always present and sent last.
It therefore indicates the end of the report.</P>
<P>The second parameter indicates the font type. The font type code
indicates the following information.</P>
<PRE>Font Code      Indicates:

1 - 64         2 density font

65 - 128       3 density font
129 - 200      custom font</PRE>
<P>If the font code is an odd number less than 127, the font contains
the USASCII and United Kingdom character sets. If the font code is
an even number less than 128, the font contains the following
character sets:</P>
<UL>
<LI>United Kingdom</LI>
<LI>USASCII</LI>
<LI>Finnish</LI>
<LI>Norwegian/Danish</LI>
<LI>Swedish</LI>
<LI>German</LI>
<LI>French Canadian</LI>
<LI>French</LI>
<LI>Italian</LI>
<LI>Spanish</LI>
<LI>VT100 line drawing set</LI>
</UL>
<P>At this time the currently assigned font codes are:</P>
<TABLE>
<THEAD>
<TR>
<TH>Font Code</TH>
<TH>Font Type</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>03</TD>
<TD>Gothic 12, US and UK character sets</TD>
</TR>
<TR VALIGN="TOP">
<TD>07</TD>
<TD>Courier 12, US and UK character sets</TD>
</TR>
<TR VALIGN="TOP">
<TD>11</TD>
<TD>Symbol 10, US and UK character sets</TD>
</TR>
<TR VALIGN="TOP">
<TD>05</TD>
<TD>Courier 10, US and UK character sets</TD>
</TR>
<TR VALIGN="TOP">
<TD>06</TD>
<TD>Courier 10, standard overlay</TD>
</TR>
<TR VALIGN="TOP">
<TD>09</TD>
<TD>Orator 10, US and UK character sets</TD>
</TR>
</TBODY>
</TABLE>
<P CLASS="note">NOTE: Refer to the ROM Option Documentation for more codes.</P>
<P ID="S2.4.1.9" CLASS="h4"><SPAN CLASS="ptitle">Horizontal Pitch <SPAN CLASS="notoc">(Characters Per Inch)</SPAN></SPAN>
-- Horizontal pitch
determines the width of printed characters as well as their
spacing. The terminal has eight horizontal pitch selections
(<A HREF="#F2-3">Figure 2-3</A>). Any combinations of pitch may be used on a single
print line.</P>
<P CLASS="note">NOTE: The actual horizontal pitch used by the terminal depends
on the density select mode, pitch select mode and horizontal pitch
features. Refer to all three features when attempting to select
horizontal pitch.</P>
<P>Changing the horizontal pitch modifies the active column. The
modified new active column is the first column boundary at or to
the right of the physical position of the previous active column
in the old pitch. New active column is calculated in the following
way.</P>
<PRE>



                  (Old column - 1) &times; New pitch
New column = 1 + -------------------------------
                            Old pitch


where   New column    =    the new active column
        New pitch     =    the new pitch in inches per character
        Old column    =    the old active column
        Old pitch     =    the old pitch in inches per character</PRE>
<P>The division performed above is an integer division. Any remainder
or fractional part of the quotient is discarded.</P>
<P>Changing horizontal pitch also clears horizontal margins. The left
margin is set to column one and the right margin is set to the
maximum column for the selected pitch (<A HREF="#T2-3">Table 2-3</A>).</P>
<P>The horizontal pitch default selection is 10 characters per inch
(char/in). The following sequences are used to set horizontal
pitch.</P>
<TABLE>
<COL WIDTH="20%">
<COL WIDTH="20%">
<COL WIDTH="*">
<COL WIDTH="60%">
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD ROWSPAN="9">Set horizontal pitch</TD>
<TD ROWSPAN="9">DECSHORP</TD>
<TD><PRE>ESC [   0   w
033 133 060 167 </PRE></TD>
<TD>Set horizontal pitch to 10 char/in</TD>
</TR>
<TR VALIGN="TOP">
<TD><PRE>ESC [   1   w
033 133 061 167 </PRE></TD>
<TD>Set horizontal pitch to 10 char/in</TD>
</TR>
<TR VALIGN="TOP">
<TD><PRE>ESC [   2   w
033 133 062 167 </PRE></TD>
<TD>Set horizontal pitch to 12 char/in</TD>
</TR>
<TR VALIGN="TOP">
<TD><PRE>ESC [   3   w
033 133 063 167 </PRE></TD>
<TD>Set horizontal pitch to 13.2 char/in</TD>
</TR>
<TR VALIGN="TOP">
<TD><PRE>ESC [   4   w
033 133 064 167 </PRE></TD>
<TD>Set horizontal pitch to 16.5 char/in</TD>
</TR>
<TR VALIGN="TOP">
<TD><PRE>ESC [   5   w
033 133 065 167 </PRE></TD>
<TD>Set horizontal pitch to 5 char/in</TD>
</TR>
<TR VALIGN="TOP">
<TD><PRE>ESC [   6   w
033 133 066 167 </PRE></TD>
<TD>Set horizontal pitch to 6 char/in</TD>
</TR>
<TR VALIGN="TOP">
<TD><PRE>ESC [   7   w
033 133 067 167 </PRE></TD>
<TD>Set horizontal pitch to 6.6 char/in</TD>
</TR>
<TR VALIGN="TOP">
<TD><PRE>ESC [   8   w
033 133 070 167 </PRE></TD>
<TD>Set horizontal pitch to 8.25 char/in</TD>
</TR>
</TBODY>
</TABLE>
<TABLE ID="F2-3">
<CAPTION>Figure 2-3 Horizontal Pitch Examples</CAPTION>
<TBODY>
<TR>
<TD><IMG SRC="ma-8323.png" ALT=""></TD>
</TR>
</TBODY>
</TABLE>
<P ID="S2.4.1.10" CLASS="h4"><SPAN CLASS="ptitle">Horizontal Margins</SPAN>
-- The left horizontal margin specifies the
first printable column on a line; the right horizontal margin
specifies the last printable column on a line. Printing is
permitted only within the left and right margins inclusive (<A HREF="#F2-4">Figure
2-4</A>).</P>
<P>The set horizontal margins sequence when accompanied by two
parameters, sets the left and right margins. If both paramters
are not zero, and the first is the smaller of the two, the left
margin is set to the first specified parameter and the right
margin is set to the second. The carriage is then repositioned to
the new left margin.</P>
<P CLASS="note">NOTE: Changing the horizontal pitch modifies the horizontal
margins. The left margin is set to column one and the right margin
is set to the maximum right margin in the selected horizontal
pitch (<A HREF="#T2-3">Table 2-3</A>).</P>
<P>The sequence is ignored if the first parameter is greater than the
second parameter. The sequence is also ignored if one of the
specified parameters would set the right margin further right than
13.2 inches.</P>
<P>If the first parameter in the sequence is omitted, the remaining
parameter sets the right margin to the specified value. If an
attempt is made to set the right margin to the left of the left
margin, the sequence is ignored.</P>
<P>If the second parameter in the sequence is omitted, the first
parameter sets the left margin to the specified value. If an
attempt is made to set the left margin to the right of the right
margin, the sequence is ignored. If the active column is less than
the new left margin, it is set to the new left margin and the
carriage is repositioned.</P>
<P>If both parameters are zero or omitted, the margins are unchanged.
The default setting for the left margin is column one. The
default setting for the right margin is column 132.</P>
<P>The following sequence is used to set the left and right margins.</P>
<TABLE>
<COL WIDTH="20%">
<COL WIDTH="20%">
<COL WIDTH="*">
<COL WIDTH="60%">
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>Set left and right margins</TD>
<TD>DECSLRM</TD>
<TD><PRE>ESC [   Pn  ;   Pn  s
033 133 *** 073 *** 163 </PRE></TD>
<TD>Set left and right margins to the values given</TD>
</TR>
</TBODY>
</TABLE>
<P CLASS="note">NOTE: The *** character is used to indicate variable numeric
parameters within the octal representation of the control or
escape sequence.</P>
<TABLE ID="T2-3">
<CAPTION>Table 2-3 Maximum Right Margins</CAPTION>
<THEAD>
<TR>
<TH>Horizontal Pitch</TH>
<TH>Maximum Column</TH>
</TR>
</THEAD>
<TBODY>
<TR>
<TD>10</TD>
<TD>132</TD>
</TR>
<TR>
<TD>12</TD>
<TD>158</TD>
</TR>
<TR>
<TD>13.2</TD>
<TD>168</TD>
</TR>
<TR>
<TD>16.5</TD>
<TD>216</TD>
</TR>
<TR>
<TD>5</TD>
<TD>66</TD>
</TR>
<TR>
<TD>6</TD>
<TD>79</TD>
</TR>
<TR>
<TD>6.6</TD>
<TD>84</TD>
</TR>
<TR>
<TD>8.25</TD>
<TD>108</TD>
</TR>
</TBODY>
</TABLE>
<TABLE ID="F2-4">
<CAPTION>Figure 2-4 Horizontal Margins and Tabs</CAPTION>
<TBODY>
<TR>
<TD><IMG SRC="ma-7355a.png" ALT=""></TD>
</TR>
</TBODY>
</TABLE>
<P ID="S2.4.1.11" CLASS="h4"><SPAN CLASS="ptitle">Horizontal Tabs</SPAN>
-- A horizontal tab is a preselected point on a
line to which the print head advances when a horizontal tab
control character is received (<A HREF="#F2-4">Figure 2-4</A>). The LA100 has 217
possible horizontal tab stops, one for each column. Tab stops are
associated with column numbers, not physical positions on the
paper. Therefore, changing horizontal pitch also changes the
physical position of tab stops. Each stop may be set or cleared
independently. Setting a stop already set has no effect; the same
is true for clearing a stop already cleared. Tab stops may be set
or cleared regardless of margins or horizontal pitch. The default
settings for horizontal tabs are one every nine columns.</P>
<P>The following sequences are used to set or clear horizontal tab
stops.</P>
<TABLE>
<COL WIDTH="20%">
<COL WIDTH="20%">
<COL WIDTH="*">
<COL WIDTH="60%">
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>Horizontal tabulation set</TD>
<TD>HTS</TD>
<TD><PRE>ESC H
033 110 </PRE></TD>
<TD>Set horizontal tab stop at active column</TD>
</TR>
<TR VALIGN="TOP">
<TD>Horizontal tabulation set</TD>
<TD>DECHTS</TD>
<TD><PRE>ESC 1
033 061 </PRE></TD>
<TD>Set horizontal tab stop at active column</TD>
</TR>
<TR VALIGN="TOP">
<TD>Tabulation clear</TD>
<TD>TBC</TD>
<TD><PRE>ESC [   0   g
033 133 060 147 </PRE></TD>
<TD>Clear horizontal tab at active column</TD>
</TR>
<TR VALIGN="TOP">
<TD>Tabulation clear</TD>
<TD>TBC</TD>
<TD><PRE>ESC [   2   g
033 133 062 147 </PRE></TD>
<TD>Clear all horizontal tab stops</TD>
</TR>
<TR VALIGN="TOP">
<TD>Tabulation clear</TD>
<TD>TBC</TD>
<TD><PRE>ESC [   3   g
033 133 063 147 </PRE></TD>
<TD>Clear all horizontal tab stops</TD>
</TR>
<TR VALIGN="TOP">
<TD>Clear all horizontal tabs</TD>
<TD>DECCAHT</TD>
<TD><PRE>ESC 2
033 062 </PRE></TD>
<TD>Clear all horizontal tab stops</TD>
</TR>
</TBODY>
</TABLE>
<P CLASS="note">NOTE: The *** character is used to indicate variable numeric
parameters within the octal representation of the control or
escape sequence.</P>
<TABLE>
<COL WIDTH="20%">
<COL WIDTH="20%">
<COL WIDTH="*">
<COL WIDTH="60%">
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>Set horizontal tabs</TD>
<TD>DECSHTS</TD>
<TD><PRE>ESC [   Pn  ;   ... Pn  u
033 133 *** 073 ... *** 165 </PRE></TD>
<TD>Set horizontal tab stops at the given values</TD>
</TR>
</TBODY>
</TABLE>
<P ID="S2.4.1.12" CLASS="h4">*<SPAN CLASS="ptitle">Vertical Pitch</SPAN>
-- Vertical pitch determines the spacing between
lines, not the height of printed characters (<A HREF="#F2-5">Figure 2-5</A>). The
LA100 has six vertical pitch selections. Changing vertical pitch
changes:</P>
<UL>
<LI>the active line. Causes the active line to move down on
the next vertical motion command so that the distance
between the top margin and the active line is an integer
multiple of the pitch selected.</LI>
<LI>the action of the form length command.</LI>
<LI>the action of set top and bottom margin commands.</LI>
<LI>the position of the last printed line on the form. The
last printed line will always be above the bottom margin.</LI>
<LI>the position of the vertical tabs.</LI>
</UL>
<P CLASS="note">* Note that the vertical pitch feature is different from previous
DIGITAL terminals.</P>
<P>Changing vertical pitch does not affect:</P>
<UL>
<LI>the top of form reference.</LI>
<LI>the form length.</LI>
<LI>the top margin. The first line will always be printed at
the same position.</LI>
<LI>the bottom margin. The last line will never be printed
below the bottom margin.</LI>
</UL>
<P>The vertical pitch default selection is six lines per inch. The
following sequences are used to set vertical pitch.</P>
<TABLE>
<COL WIDTH="20%">
<COL WIDTH="20%">
<COL WIDTH="*">
<COL WIDTH="60%">
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD ROWSPAN="7">Set vertical pitch</TD>
<TD ROWSPAN="7">DECVERP</TD>
<TD><PRE>ESC [   0   z
033 133 060 172</PRE></TD>
<TD>Set vertical pitch to six lines per inch</TD>
</TR>
<TR VALIGN="TOP">
<TD><PRE>ESC [   1   z
033 133 061 172</PRE></TD>
<TD>Set vertical pitch to six lines per inch</TD>
</TR>
<TR VALIGN="TOP">
<TD><PRE>ESC [   2   z
033 133 062 172</PRE></TD>
<TD>Set vertical pitch to eight lines per inch</TD>
</TR>
<TR VALIGN="TOP">
<TD><PRE>ESC [   3   z
033 133 063 172</PRE></TD>
<TD>Set vertical pitch to twelve lines per inch</TD>
</TR>
<TR VALIGN="TOP">
<TD><PRE>ESC [   4   z
033 133 064 172</PRE></TD>
<TD>Set vertical pitch to two lines per inch</TD>
</TR>
<TR VALIGN="TOP">
<TD><PRE>ESC [   5   z
033 133 065 172</PRE></TD>
<TD>Set vertical pitch to three lines per inch</TD>
</TR>
<TR VALIGN="TOP">
<TD><PRE>ESC [   6   z
033 133 066 172</PRE></TD>
<TD>Set vertical pitch to four lines per inch</TD>
</TR>
</TBODY>
</TABLE>
<TABLE ID="F2-5">
<CAPTION>Figure 2-5 Vertical Pitch Examples</CAPTION>
<TBODY>
<TR>
<TD><IMG SRC="ma-8338.png" ALT=""></TD>
</TR>
</TBODY>
</TABLE>
<P ID="S2.4.1.13" CLASS="h4">*<SPAN CLASS="ptitle">Form Length</SPAN> --
The LA100 can operate in one of two modes: form
mode or no form mode (roll paper). In the no form mode, there is
no form length or vertical margins, printing occurs continuously,
lines being spaced apart according to the current pitch.</P>
<P CLASS="note">* Note that the form length feature is different from previous
DIGITAL terminals.</P>
<P>When in form mode, the terminal will not print above the top
margin or below the bottom margins, and lines will be spaced so
that the distance between active line and top margin is always a
multiple of the current pitch. (<A HREF="#F2-6">Figure 2-6</A>).</P>
<P>When a form length of zero is defined for the terminal, the LA100
assumes that roll paper is being used and enters the no form mode.
When a non zero form length is given, the terminal assumes that
form paper is being used, and enters the form mode.</P>
<P>The form length is measured in lines 1/24 of an inch. The form
length can be no longer than 21 inches. To set form length, first
try to ensure that the terminal is at the top of form.</P>
<P CLASS="note">NOTE: Remember that a form feed puts the active line at the
top margin, not the top of form. To advance to the top of form the
top margin must be cleared.</P>
<P>Measure the form length in inches. Ensure that you know the
current vertical pitch of the terminal and that the new form
length is a multiple of this pitch. If the current pitch is
unknown or the form length is not a multiple of the vertical
pitch, set a new vertical pitch.</P>
<P CLASS="note">NOTE: Most form lengths are a multiple of 1/12, and all allowed
form lengths are either a multiple of 1/12 or 1/8.</P>
<P>Then, send the form length command with the parameter equal to the
form length multiplied by the current vertical pitch.</P>
<P>The default form length selection is 11 inches. The following
sequence sets form length.</P>
<TABLE>
<COL WIDTH="20%">
<COL WIDTH="20%">
<COL WIDTH="*">
<COL WIDTH="60%">
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>Set lines per physical page</TD>
<TD>DECSLPP</TD>
<TD><PRE>ESC [   Pn  t
033 133 *** 164 </PRE></TD>
<TD>Set form length to n &times; pitch in inches, set top margin to 0 inches, active line
to line one, set top of form to current position, and set bottom margin to form length.</TD>
</TR>
</TBODY>
</TABLE>
<TABLE ID="F2-6">
<CAPTION>Figure 2-6 Form/No Form Mode</CAPTION>
<TBODY>
<TR>
<TD><IMG SRC="ma-8388.png" ALT=""></TD>
</TR>
</TBODY>
</TABLE>
<P ID="S2.4.1.14" CLASS="h4"><SPAN CLASS="ptitle">Vertical Margins</SPAN> --
The top vertical margin specifies the first
printable line; the bottom vertical margin specifies the limit for
the last printable line (<A HREF="#F2-6">Figure 2-6</A>). Printing is allowed only on
the lines between the top and bottom margins (including the top
margin). The bottom margin may not be included depending on the
vertical pitch.</P>
<P>To set the top and bottom margins, first be sure that the distance
between the top of form and the desired margin is a multiple of
the vertical pitch selected. Otherwise, change the pitch and then
send the set margin command with a parameter equal to the desired
margin in inches multiplied by the current vertical pitch in lines
per inch.</P>
<P>Attempting to print above the top margin or below the bottom
margin automatically advances the active line to the top margin of
the next page. For example, a line feed (LF) received at the
bottom margin causes the terminal to perform a line feed.</P>
<P>The set vertical margins sequence, accompanied by two parameters,
sets the top and bottom margins. If both parameters are not zero
and the first is the smaller of the two, the top margin is set to
the first parameter and the bottom is set to the second. Then the
paper may be repositioned to the new top margin depending on the
current line position and terminal activity.</P>
<P>The sequence is ignored if the first parameter is greater than or
equal to the second parameter. The sequence is also ignored if one
of the specified parameters would set the bottom margin past the
assigned form length.</P>
<P>If the first parameter in the sequence is omitted, the remaining
parameter sets the bottom margin to the specified line. If an
attempt is made to set the bottom margin above the top margin, the
sequence is ignored.</P>
<P>If the second parameter in the sequence is omitted, the first
parameter sets the top margin to the specified line. If an attempt
is made to set the top margin below the bottom margin, the
sequence is ignored. If the active line is less than the top
margin, it is set to the new top margin and the paper is
repositioned.</P>
<P>If both parameters are set to zero or omitted the margins are
unchanged. The default top margin selection is top of form. The
default selection for the bottom margin is 11 inches.</P>
<P>The following sequences set the top and bottom margins.</P>
<TABLE>
<COL WIDTH="20%">
<COL WIDTH="20%">
<COL WIDTH="*">
<COL WIDTH="60%">
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>Set top, bottom margins</TD>
<TD>DECSTBM</TD>
<TD><PRE>ESC [   Pn  ;   Pn  r
033 133 *** 073 *** 162 </PRE></TD>
<TD>Set top margin to line Pn and bottom margin to line Pn.</TD>
</TR>
</TBODY>
</TABLE>
<P CLASS="note">NOTE: The *** character is used to indicate variable numeric
parameters within the octal representation of the control or
escape sequence.</P>
<P ID="S2.4.1.15" CLASS="h4"><SPAN CLASS="ptitle">Vertical Tabs</SPAN> --
A vertical tab is a preselected line to which the
print head advances when a vertical tab control character is
received (<A HREF="#F2-7">Figure 2-7</A>). The terminal has 168 vertical tab
positions. Vertical tabs may be set and cleared like horizontal
tabs. Vertical tab stops are associated with specific line
numbers, not physical positions on the paper. Therefore, changing
vertical pitch changes the printing position of vertical tabs on
the paper. The default settings for vertical tabs are one every
line. The following sequences set or clear vertical tab stops.</P>
<P CLASS="note">NOTE: 21 inches at 12 lines per inch = 252 lines. Only the
first 168 lines can have vertical tab stops.</P>
<TABLE>
<COL WIDTH="20%">
<COL WIDTH="20%">
<COL WIDTH="*">
<COL WIDTH="60%">
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>Vertical tab set</TD>
<TD>VTS</TD>
<TD><PRE>ESC J
033 112 </PRE></TD>
<TD>Set vertical tab stop at active line</TD>
</TR>
<TR VALIGN="TOP">
<TD>Vertical tab set</TD>
<TD>DECVTS</TD>
<TD><PRE>ESC 3
033 063 </PRE></TD>
<TD>Same</TD>
</TR>
</TBODY>
</TABLE>
<P CLASS="note">NOTE: The *** character is used to indicate variable numeric
parameters within the octal representation of the control or
escape sequence.</P>
<TABLE>
<COL WIDTH="20%">
<COL WIDTH="20%">
<COL WIDTH="*">
<COL WIDTH="60%">
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>Set vertical tab stops</TD>
<TD>DECSVTS</TD>
<TD><PRE>ESC [   Pn  ;   ... Pn  v
033 133 *** 073     *** 166 </PRE></TD>
<TD>Set vertical tab stops at lines given</TD>
</TR>
<TR VALIGN="TOP">
<TD>Tabulation clear</TD>
<TD>TBC</TD>
<TD><PRE>ESC [   1   g
033 133 061 147 </PRE></TD>
<TD>Clear vertical tab stop at active line</TD>
</TR>
<TR VALIGN="TOP">
<TD>Tabulation clear</TD>
<TD>TBC</TD>
<TD><PRE>ESC [   4   g
033 133 064 147 </PRE></TD>
<TD>Clear all vertical tab stops</TD>
</TR>
<TR VALIGN="TOP">
<TD>Clear all vertical tabs</TD>
<TD>DECCAVT</TD>
<TD><PRE>ESC 4
033 064 </PRE></TD>
<TD>Same</TD>
</TR>
</TBODY>
</TABLE>
<TABLE ID="F2-7">
<CAPTION>Figure 2-7 Vertical Features</CAPTION>
<TBODY>
<TR>
<TD><IMG SRC="ma-7713a.png" ALT=""></TD>
</TR>
</TBODY>
</TABLE>
<P ID="S2.4.1.16" CLASS="h4"><SPAN CLASS="ptitle">Active Column and Active Line</SPAN> --
Active column is the column where
the next character will be printed. Active line is the line where
the next character is printed. Column and line numbers begin with
one, not zero. Printable characters usually increment the active
column. Line feeds, vertical tabs, and form feeds increment the
active line.</P>
<P>The active column and active line are collectively known as active
position. Active position is only loosely linked to the physical
position of the carriage and paper mechanism.</P>
<P>When auto last character view is selected, the terminal carriage
moves 0.4 inches to the right whenever printing stops for more than
one second. This action allows the last character printed to be
viewed. However active column is not affected by this feature.
Bell characters do not have an active position attribute. They are
not guaranteed to be sounded at any particular position.</P>
<P>In addition to the control characters (backspace, horizontal tab,
carriage return, line feed, vertical tab, and form feed) the
following escape sequences modify active column and active line.</P>
<TABLE>
<COL WIDTH="20%">
<COL WIDTH="20%">
<COL WIDTH="*">
<COL WIDTH="60%">
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>Index</TD>
<TD>IND</TD>
<TD><PRE>ESC D
033 104 </PRE></TD>
<TD>Increment active line and advance paper -- line feed new line mode
has no effect on this feature</TD>
</TR>
<TR>
<TD COLSPAN="4"><P CLASS="note">NOTE: The *** character is used to indicate variable numeric
parameters within the octal representation of the control or
escape sequence.</P></TD>
</TR>
<TR VALIGN="TOP">
<TD>Vertical position absolute</TD>
<TD>VPA</TD>
<TD><PRE>ESC [   Pn  d
033 133 *** 144 </PRE></TD>
<TD>Set active line to Pn -- if Pn is less than or equal to active line,
or is greater than bottom margin, active line is set to top margin on next page</TD>
</TR>
<TR VALIGN="TOP">
<TD>Next line</TD>
<TD>NEL</TD>
<TD><PRE>ESC E
033 105 </PRE></TD>
<TD>Set active column to left margin and increment active line</TD>
</TR>
<TR VALIGN="TOP">
<TD>Horizontal position absolute</TD>
<TD>HPA</TD>
<TD><PRE>ESC [   Pn  `
033 133 *** 140 </PRE></TD>
<TD>Set active column to column Pn -- if Pn is greater than right
margin, active column is set to left margin on next line -- if Pn
is less than or equal to left margin, active column is set to left margin</TD>
</TR>
<TR VALIGN="TOP">
<TD>Horizontal position relative</TD>
<TD>HPR</TD>
<TD><PRE>ESC [   Pn  a
033 133 *** 141 </PRE></TD>
<TD>Advance current active column by Pn columns -- if active column exceeds right
margin, active column is set to left margin on next line regardless of actual value
of Pn -- if Pn = 0, then no motion occurs</TD>
</TR>
<TR VALIGN="TOP">
<TD>Cursor up</TD>
<TD>CUU</TD>
<TD><PRE>ESC [   Pn  A
033 133 *** 101 </PRE></TD>
<TD>Decrement current active line by Pn lines without going past top margin --
if Pn is greater than or equal to current active line, sequence is ignored</TD>
</TR>
<TR VALIGN="TOP">
<TD>Vertical position relative</TD>
<TD>VPR</TD>
<TD><PRE>ESC [   Pn  e
033 133 *** 145 </PRE></TD>
<TD>Advance active line by Pn lines -- if Pn = 0, 256 lines is assumed, if parameter
exceeds bottom margin, active line is set to top margin on next page regardless of
actual value of Pn</TD>
</TR>
<TR>
<TD COLSPAN="4"><P CLASS="note">NOTE: The PLD sequence does not modify active line. To avoid
losing the top of form reference send an equal number of PLU
sequences to the terminal.</P></TD>
</TR>
<TR VALIGN="TOP">
<TD>Partial line down</TD>
<TD>PLD</TD>
<TD><PRE>ESC K
033 113 </PRE></TD>
<TD>Index paper up 0.212 cm (1/12 inch) -- line feed new line mode has no effect on
this sequence</TD>
</TR>
<TR>
<TD COLSPAN="4"><P CLASS="note">NOTE: The PLU sequence does not modify active line. To avoid
losing the top of form reference, send an equal number of PLD
sequences to the terminal.</P></TD>
</TR>
<TR VALIGN="TOP">
<TD>Partial line up</TD>
<TD>PLU</TD>
<TD><PRE>ESC L
033 114 </PRE></TD>
<TD>Index paper down 0.212 cm (1/12 inch) -- line feed new line mode has no effect on this sequence</TD>
</TR>
<TR VALIGN="TOP">
<TD></TD>
<TD></TD>
<TD><PRE></PRE></TD>
<TD></TD>
</TR>
<TR VALIGN="TOP">
<TD>Reverse index</TD>
<TD>RI</TD>
<TD><PRE>ESC M
033 115</PRE></TD>
<TD>Decrement active line and move paper down one line -- line feed new
line mode has no effect on this sequence</TD>
</TR>
</TBODY>
</TABLE>
<P ID="S2.4.1.17" CLASS="h4"><SPAN CLASS="ptitle">Product Identification</SPAN> --
The LA100 automatically transmits an
answer to the ANSI standard request for device attributes. The
following sequences cause the terminal to transmit its product
identification sequence.</P>
<TABLE>
<COL WIDTH="20%">
<COL WIDTH="20%">
<COL WIDTH="*">
<COL WIDTH="60%">
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TFOOT>
<TR>
<TD COLSPAN="4"><P CLASS="note">* This sequence is provided for compatibility with previous
products. It may not be supported in future products and is
therefore not recommended.</P></TD>
</TR>
</TFOOT>
<TBODY>
<TR VALIGN="TOP">
<TD>Device attributes</TD>
<TD>DA</TD>
<TD><PRE>ESC [   c
033 133 143 </PRE></TD>
<TD>Transmits <TT>ESC [ ? 1 0 c</TT> which forms the product identification of the basic LA100.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Device attributes</TD>
<TD>DA</TD>
<TD><PRE>ESC [   0   c
033 133 060 143</PRE></TD>
<TD>Same</TD>
</TR>
<TR VALIGN="TOP">
<TD>*Identify terminal</TD>
<TD>DECID</TD>
<TD><PRE>ESC Z
033 132 </PRE></TD>
<TD>Same</TD>
</TR>
</TBODY>
</TABLE>
<H2 ID="S2.5">ANSI Control Strings</H2>
<P>When the terminal receives any of the escape sequences listed
below, it responds as usual to control characters received (octal
000 -- 037 and 177) and discards any printable characters received
(octal 040 -- 176). The terminal reverts to text processing mode
when one of the following conditions occur.</P>
<UL>
<LI>ESC \ (octal 033 134) is received.</LI>
<LI>CAN (cancel), SUB (substitute), or ESC (escape) is received</LI>
<LI>an error occurs.</LI>
</UL>
<TABLE>
<THEAD>
<TR>
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Sequence</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>Application program command</TD>
<TD>APC</TD>
<TD><PRE>ESC _
033 137</PRE></TD>
</TR>
<TR VALIGN="TOP">
<TD>Operating system command</TD>
<TD>OSC</TD>
<TD><PRE>ESC ]
033 135</PRE></TD>
</TR>
<TR VALIGN="TOP">
<TD>Privacy message</TD>
<TD>PM</TD>
<TD><PRE>ESC ^
033 137</PRE></TD>
</TR>
<TR VALIGN="TOP">
<TD>Device control</TD>
<TD>DCS</TD>
<TD><PRE>ESC P
033 120</PRE></TD>
</TR>
</TBODY>
</TABLE>
<P CLASS="note">NOTE: The LA100 remains in DCS mode until it recognizes a valid
protocol selector, or the terminal receives the terminator
sequence ESC \. For more detail on DCS mode refer to the Graphics
Mode and Answerback Message sections in this chapter.</P>
<H2 ID="S2.6">Graphics Mode</H2>
<P>While in text mode, characters are printed as they are received.
In graphics mode, characters received define specific columns of
dots to be printed. Graphics mode allows users to print dot
combinations anywhere on a page. This mode can be used to draw
pictures and plot graphs (<A HREF="#F2-8">Figure 2-8</A>).</P>
<P>After entering graphics mode, the vertical pitch, horizontal
pitch, and horizontal margins change. The graphics mode pitch and
margins section describes these changes.</P>
<P>DIGITAL does not recommend using single sheet or tractor feed
paper when operating in graphics mode.</P>
<P>The terminal has a horizontal resolution of 132 columns per inch
with a 50 percent overlap, and a vertical resolution of 72 dots
per inch with no overlap between dots. There is a 44 percent dot
overlap between lines. The aspect ratio (ratio of horizontal to
vertical resolution) is 1.83.</P>
<TABLE ID="F2-8">
<CAPTION>Figure 2-8 Graphics Capabilities</CAPTION>
<TBODY>
<TR>
<TD><IMG SRC="ma-8389.png" ALT=""></TD>
</TR>
</TBODY>
</TABLE>
<H2 ID="S2.7">Graphics String Format</H2>
<P>The format for a string of graphics data is as follows.</P>
<TABLE>
<TBODY>
<TR>
<TD>DCS introducer</TD>
<TD>ESC P</TD>
</TR>
<TR>
<TD>Protocol selector</TD>
<TD>Pn q</TD>
</TR>
<TR>
<TD>Data</TD>
<TD>Control characters or column definitions</TD>
</TR>
<TR>
<TD>DCS terminator</TD>
<TD>ESC \</TD>
</TR>
</TBODY>
</TABLE>
<H2 ID="S2.8">DCS Introducer</H2>
<P>When the terminal receives the DCS introducer, it enters DCS mode
and waits for the correct protocol selector. The DCS introducer
is the ANSI DCS introducer sequence ESC P (033 120).</P>
<P>When the protocol selector is received the terminal begins to
process data as described in the data section.</P>
<P>The terminal remains in DCS mode if the proper protocol selector
is not received, or if the terminal receives a character that is
out of range before the correct protocol selector is recognized.</P>
<H2 ID="S2.9">Protocol Selector</H2>
<P>After receiving the DCS introducer, the protocol selector causes
the terminal to enter graphics mode. The protocol selector for the
terminal consists of a numeric parameter and a final character.
The correct protocol selector is 1 (octal 061) and q (octal 161).
Valid protocol selectors include:</P>
<P>0 selects default graphics protocol (same as 1 for LA100)<BR>
1 selects DECwriter IV protocol (described in this section)<BR>
2 - 255 reserved for future development.</P>
<H2 ID="S2.10">Data</H2>
<P>The data contained within a graphics string can either be control
characters or printable data. The following paragraphs describe
the control characters to which the terminal responds in graphics
mode, and the format of the printable characters received.</P>
<H3 ID="S2.10.1">Control Characters</H3>
<P>In graphics mode, the terminal responds to the following control
characters.</P>
<UL>
<LI><STRONG>ANSI Control Characters</STRONG><BR>
<A HREF="#T2-4">Table 2-4</A> lists and describes the ANSI control characters
in the 000 to 037 octal range that are processed in
graphics mode.</LI>
<LI><STRONG>Private Control Characters</STRONG><BR>
<A HREF="#T2-5">Table 2-5</A> lists and describes the private control
characters in the 040 -- 076 octal range that are
processed in graphics mode.</LI>
</UL>
<TABLE ID="T2-4">
<CAPTION>Table 2-4 Graphics ANSI Control Characters</CAPTION>
<THEAD>
<TR VALIGN="BOTTOM">
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Octal Code</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TFOOT>
<TR>
<TD COLSPAN="4"><P CLASS="note">NOTE: NUL, EOT, ENQ, BEL, DEL, SI, and SO are processed
as in text mode (refer to <A HREF="#T2-1">Table 2-1</A>).</P>
<P CLASS="note">BS, LF, CR, FF, HT, and VT are ignored in graphics.</P></TD>
</TR>
</TFOOT>
<TBODY>
<TR VALIGN="TOP">
<TD>Cancel</TD>
<TD>CAN</TD>
<TD>030</TD>
<TD>Immediately causes an exit graphics.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Substitute</TD>
<TD>SUB</TD>
<TD>032</TD>
<TD>Replaces any character received with errors. When received in graphics,
SUB is processed as a one column space.</TD>
</TR>
<TR VALIGN="TOP">
<TD>Escape</TD>
<TD>ESC</TD>
<TD>033</TD>
<TD>Causes the terminal to exit graphics and process the sequence.</TD>
</TR>
</TBODY>
</TABLE>
<TABLE ID="T2-5">
<CAPTION>Table 2-5 Graphics Private Control Characters</CAPTION>
<THEAD>
<TR VALIGN="BOTTOM">
<TH>Name</TH>
<TH>Mnemonic</TH>
<TH>Octal Code</TH>
<TH>ASCII Character</TH>
<TH>Function</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>Graphics Repeat Introducer</TD>
<TD>DECGRI</TD>
<TD>041</TD>
<TD>!</TD>
<TD>Begin repeat sequence</TD>
</TR>
<TR VALIGN="TOP">
<TD>Graphics Carriage Return</TD>
<TD>DECGCR</TD>
<TD>044</TD>
<TD>$</TD>
<TD>Returns to graphics left margin</TD>
</TR>
<TR VALIGN="TOP">
<TD>Graphics New Line</TD>
<TD>DECGNL</TD>
<TD>055</TD>
<TD>-</TD>
<TD>Returns to graphics left margin and advances to next graphics line</TD>
</TR>
</TBODY>
</TABLE>
<H3 ID="S2.10.2">Printable Data</H3>
<P>After the proper protocol selector is received, any character
received in the 077 -- 176 octal range is considered printable
data. These characters define a column of six dots to be printed.
This allows selective firing of the top six printhead wires
(<A HREF="#F2-9">Figure 2-9</A>). The seventh, eighth and ninth printhead wires are
not used in graphics mode.</P>
<P>Printable characters are processed in the following way. The
offset (octal 077) is substituted from the binary value of the
character received. The result is a six dot column definition. A
printhead wire is fired, and a dot printed, if the corresponding
bit is set to one.</P>
<P>The least significant bit is associated with the top printhead
wire (wire one). The sixth bit is associated with the sixth
printhead wire, and is the last wire that can be fired in graphics
mode.</P>
<TABLE>
<THEAD>
<TR>
<TH>Wire</TH>
<TD></TD>
<TH>Bit</TH>
</TR>
</THEAD>
<TBODY>
<TR>
<TD>Top</TD>
<TD>1</TD>
<TD>1</TD>
</TR>
<TR>
<TD></TD>
<TD>2</TD>
<TD>2</TD>
</TR>
<TR>
<TD></TD>
<TD>3</TD>
<TD>3</TD>
</TR>
<TR>
<TD></TD>
<TD>4</TD>
<TD>4</TD>
</TR>
<TR>
<TD></TD>
<TD>5</TD>
<TD>5</TD>
</TR>
<TR>
<TD></TD>
<TD>6</TD>
<TD>6</TD>
</TR>
<TR>
<TD></TD>
<TD>7 Not Used</TD>
<TD></TD>
</TR>
<TR>
<TD></TD>
<TD>8 Not Used</TD>
<TD></TD>
</TR>
<TR>
<TD>Bottom</TD>
<TD>9 Not Used</TD>
<TD></TD>
</TR>
</TBODY>
</TABLE>
<P>Refer to <A HREF="#T2-6">Table 2-6</A> for several printable character examples.</P>
<TABLE ID="T2-6">
<CAPTION>Table 2-6 Printable Character Examples</CAPTION>
<THEAD>
<TR VALIGN="BOTTOM">
<TH>Character</TH>
<TH>Octal Value</TH>
<TH>Binary Value<BR>(minus Offset)</TH>
<TH>Wires Fired</TH>
</TR>
</THEAD>
<TBODY>
<TR VALIGN="TOP">
<TD>?</TD>
<TD>077</TD>
<TD>00000000</TD>
<TD>o<BR>o<BR>o<BR>o<BR>o<BR>o</TD>
</TR>
<TR VALIGN="TOP">
<TD>@</TD>
<TD>100</TD>
<TD>00000001</TD>
<TD>*<BR>o<BR>o<BR>o<BR>o<BR>o</TD>
</TR>
<TR VALIGN="TOP">
<TD>~</TD>
<TD>176</TD>
<TD>00111111</TD>
<TD>*<BR>*<BR>*<BR>*<BR>*<BR>*</TD>
</TR>
<TR VALIGN="TOP">
<TD>_</TD>
<TD>137</TD>
<TD>00100000</TD>
<TD>o<BR>o<BR>o<BR>o<BR>o<BR>*</TD>
</TR>
</TBODY>
</TABLE>
<TABLE ID="F2-9">
<CAPTION>Figure 2-9 Graphics Printhead Use</CAPTION>
<TBODY>
<TR>
<TD><IMG SRC="ma-8404.png" ALT=""></TD>
</TR>
</TBODY>
</TABLE>
<H3 ID="S2.10.3">Repeat Sequence</H3>
<P>A repeat sequence allows the terminal to continually print a dot
column for a specified number of times. It has the same effect as
receiving the dot column that many times. A repeat sequence is
defined as follows.</P>
<TABLE>
<TBODY>
<TR VALIGN="TOP">
<TD>Repeat introducer</TD>
<TD>! (octal 041)</TD>
</TR>
<TR VALIGN="TOP">
<TD>Numeric parameter</TD>
<TD>Number of times to print the dot column
(characters in the octal range of 060 - 071)</TD>
</TR>
<TR VALIGN="TOP">
<TD>Dot column</TD>
<TD>Character in the 077 -- 176 octal range</TD>
</TR>
</TBODY>
</TABLE>
<P>The repeat sequence introducer is the private control character !
(octal 041).</P>
<P>The numeric parameter specifies the number of times to print the
column definition that follows. The numeric parameter is a string
of characters in the 060 -- 071 octal range. If a numeric
parameter is not specified, a value of zero is assumed for the
numeric parameter. If the value specified is larger than the
graphic printer limit for numeric parameters (64 K), the limit is
assumed. All decimal digits are processed as part of the count.</P>
<P>The dot column (a character in the 077 -- 176 octal range) is
printed as many times as specified by the numeric parameter count.
All control characters received during a repeat sequence are
processed as usual. For example, the control character ! resets
the repeat sequence count.</P>
<P>All unspecified characters (octal 072 -- 076) are ignored.</P>
<H3 ID="S2.10.4">DCS Terminator</H3>
<P>The DCS terminator ESC \ (octal 033 134) causes the terminal to
exit graphics mode and revert to text mode character processing.
The CAN (cancel) or ESC (escape) control characters also cause the
terminal to exit graphics mode. If the ESC control character is
received, the terminal exits graphics mode and starts processing
the escape sequence.</P>
<P>After an exit graphics, the terminal is set to the following:</P>
<UL>
<LI>Text mode features (margins, pitch) are restored</LI>
<LI>Vertical position is modified according to the control
characters received while in graphics mode</LI>
<LI>Horizontal position is the same as just before entering
graphics mode</LI>
<LI>The first text mode vertical motion command causes the
terminal to advance to the next text mode line before
executing the command.</LI>
</UL>
<H2 ID="S2.11">Graphics Mode Pitch</H2>
<P>In graphic mode the horizontal pitch is set to 132 columns per
inch (9.5 characters per inch). The vertical pitch is set to 1/12
lines per inch.</P>
<H2 ID="S2.12">Graphics Mode Margins</H2>
<P>Graphics mode maximum line length depends on the horizontal pitch
and the margins selected in text mode. In graphics mode, the
maximum line length is 13.1 inches (1,736 dots). To use the
maximum line length, the following conditions must be met before
entering graphics mode.</P>
<UL>
<LI>the actual horizontal pitch must be 10 characters per
inch (depends on pitch setting, pitch mode, and the
density selection).</LI>
<LI>Text mode left margin must be set to column one</LI>
<LI>Text mode right margin must be set to column 132</LI>
<LI>Active column must be column one</LI>
</UL>
<P>After entering graphics mode the left margin is repositioned to
the right 0.11 inches maximum of the last printed column in text
mode. Graphics mode left margin is calculated as follows:</P>
<PRE>               (Current Active Column - 1) &times; Old Pitch
Left Margin = -----------------------------------------
                                70</PRE>
<P>If there is a remainder, round up to the next whole number.</P>
<P>After entering graphics mode the right margin is repositioned to
the left of the text mode right margin (0.11 inches maximum). The
graphics mode right margin is calculated as follows:</P>
<PRE>                Old Right Margin &times; Old Pitch
Right Margin = ------------------------------
                            70</PRE>
<P>Discard any remainder.</P>
<P>If an attempt is made to print past the right margin, the terminal
responds according to the auto wraparound mode selection.</P>
<P>Superscript or subscript can be used to label graphic data with
text mode comments. Reverse line feed is not recommended because
the graphics mode vertical pitch may not be the same as the text
mode vertical pitch.</P>
<H2 ID="S2.13">Answerback Message Entry</H2>
<P>Answerback is a message up to thirty characters that identifies
the terminal for the computer. This message is transmitted upon
request from the computer, the keyboard (Letterwriter 100 only),
or automatically if enabled (refer to the auto answerback feature
in the <CITE>Operator Guide</CITE>).</P>
<P>Both printable characters and control characters can be part of
the answerback message. To allow down line entry of both printable
and control characters, the message is hexadecimal encoded.</P>
<H3 ID="S2.13.1">Answerback Message Format</H3>
<P>The format for an answerback message is:</P>
<TABLE>
<TBODY>
<TR>
<TD>DCS introducer</TD>
<TD>ESC P</TD>
</TR>
<TR>
<TD>Protocol selector</TD>
<TD>Pn v</TD>
</TR>
<TR>
<TD>Data</TD>
<TD>Encoded Answerback Message Text</TD>
</TR>
<TR>
<TD>DCS terminator</TD>
<TD>ESC \</TD>
</TR>
</TBODY>
</TABLE>
<H3 ID="S2.13.2">DCS Introducer</H3>
<P>When the terminal receives the DCS introducer, it enters DCS mode
and waits for the corrent protocol selector. The DCS introducer
is the ANSI DCS introducer sequence ESC P (octal 033 120).</P>
<P>The protocol selector is followed by the text of the answerback
message encoded in hexadecimal format. The terminal remains in DCS
mode if the proper protocol selector is not received, or if the
terminal receives a character that is out of range before the
correct protocol selector is recognized.</P>
<H3 ID="S2.13.3">Protocol Selector</H3>
<P>After receiving the DCS introducer, the protocol selector causes
the terminal to enter answerback message entry mode. The protocol
selector for answerback message entry consists of a numeric
parameter and a final character. The correct protocol is 1 (octal
061) and v (octal 166).</P>
<P CLASS="note">NOTE: When the protocol selector is recognized the message
stored in operating memory is erased. However the message stored
in user permanent memory remains the same until the next store is
performed.</P>
<H3 ID="S2.13.4">Data</H3>
<P>After the proper protocol selector is received, control characters
(0 -- 037 and 177 octal range) are executed as usual.</P>
<P>Hexadecimal digits (character in the 060 -- 071, 101 -- 106, 141
-- 146 octal range) are grouped in pairs to give the hexadecimal
equivalent of the character to be entered in the answerback
message. Any character from 0 -- 177 (octal) can be entered in the
answerback message using the hex encoding system (see example).</P>
<P>When the protocol selector is recognized the message stored in
operating memory is erased. Then a character is added to the
message every time a pair of hexadecimal digits has been received.</P>
<P CLASS="note">NOTE: The message is not made 30 characters long automatically. If
padding NUL control characters are needed, they must be included
in the message.</P>
<P>Example:<BR>
The following string will down line the message: LA100</P>
<PRE>DCS introducer
|       Protocol selector                               DCS terminator
|       |               Hex encoded message             |
|---|   |---|   |-----------------------------------|   |---|
ESC P   1   v   4   C   4   1   3   1   3   0   3   0   ESC \
033 120 061 166 064 103 064 061 063 061 063 060 063 060 033 134

|-------------------------------------------------------------|
                    Octal Equivalent</PRE>
<H3 ID="S2.13.5">Error Processing</H3>
<UL>
<LI>Any character received which is not a control character or hex
digit is discarded</LI>
<LI>If an odd number of digits is received, the last digit is
processed by itself</LI>
<LI>If the hex value received for a character is larger than 7F
HEX, the character is replaced by the SUB control character
(1A HEX).</LI>
<LI>Once 30 answerback message characters are received, further
characters are discarded.</LI>
</UL>
<DIV CLASS="navbar"><HR>
<TABLE WIDTH="100%">
<COL SPAN="3" WIDTH="33%">
<TBODY>
<TR>
<TD ALIGN="LEFT"><A HREF="chapter1.html">Chapter 1</A></TD>
<TD ALIGN="CENTER"><A HREF="contents.html">Contents</A></TD>
<TD ALIGN="RIGHT">&nbsp;</TD>
</TR>
</TBODY>
</TABLE>
<DIV CLASS="navbot">http://vt100.net/docs/la100-rm/chapter2.html</DIV></DIV>
</BODY>
</HTML>
